home *** CD-ROM | disk | FTP | other *** search
/ LOGIC Apps / Logic-APPLE_II_APPS.iso / pc / LOGIC Apple II 5.25" Library - DOS Part 3 / DOS077A.dsk / PRIMES & FACTORS.int < prev    next >
Text File  |  2012-02-16  |  5KB  |  188 lines

  1. 0 K=0
  2. 1 REM                                 PRIMES AND FACTORS
  3. 2 REM                                 BY RICHARD RUTH 
  4. 3 REM                                 KEYSTONE APPLE CORE
  5. 4 REM                                 
  6. 5 REM                                 12/12/79
  7. 6 REM 
  8. 7 REM 
  9. 8 GOSUB 3021
  10. 10 CALL -936
  11. 11 REM  HEADING
  12. 12  POKE 50,63:PRINT " G E N E R A L   M A T H E M A T I C S  "
  13. 13  POKE 50,255
  14. 20 REM  PRIME NUMBER FINDER
  15. 30 REM  GCF/LCM
  16. 40 REM  FACTORS OF A NUMBER
  17. 45 REM   PRIME NUMBER LIST
  18. 50 VTAB 6:PRINT "HERE ARE FIVE PROGRAMS:"
  19. 60 PRINT 
  20. 70 TAB (4):PRINT "1) PRIME NUMBER FINDER"
  21. 75 PRINT 
  22. 80 TAB (4):PRINT "2) GCF/LCM FINDER"
  23. 85 PRINT 
  24. 90 TAB (4):PRINT "3) FIND FACTORS OF A NUMBER."
  25. 100 PRINT 
  26. 105 TAB (4):PRINT "4) PRIME FACTORIZATION."
  27. 106 PRINT 
  28. 107 TAB (4):PRINT "5) PRIME NUMBER LIST."
  29. 110 FOR I=1 TO 1000:NEXT I:PRINT 
  30. 115 PRINT 
  31. 120 INPUT "WHICH DO YOU WANT<CTRL-G>",C
  32. 130 IF C>0 AND C<6 THEN 140
  33. 135 PRINT :PRINT "INPUT ONLY 1,2,3,4, OR 5!":PRINT :GOTO 120
  34. 140 PRINT :IF K=0 THEN GOSUB 2000
  35. 141 K=K+1
  36. 145 IF C=1 THEN GOSUB 500
  37. 150 IF C=2 THEN GOSUB 1000
  38. 155 IF C=4 THEN GOSUB 2200
  39. 157 IF C=5 THEN 2500
  40. 160 CALL -936
  41. 165 REM                                 PROGRAM TO FIND INTEGRAL
  42. 166 REM   FACTORS OF A NUMBER.
  43. 167 REM 
  44. 170 VTAB 5:PRINT "*** FACTORS OF A NUMBER ***":PRINT 
  45. 180 INPUT "WHAT IS YOUR NUMBER",N
  46. 185 IF N<1 THEN 10
  47. 190 PRINT 
  48. 200 FOR I=1 TO N
  49. 205 IF I*I>N THEN 300
  50. 210 Y=N MOD I
  51. 220 IF Y=0 THEN PRINT I,N/I
  52. 240 NEXT I
  53. 300 PRINT 
  54. 310 PRINT "ALL FACTORS HAVE BEEN FOUND.<CTRL-G>"
  55. 320 PRINT :FOR I=1 TO 300:NEXT I:GOTO 180
  56. 500 CALL -936
  57. 505 REM                                   PROGRAM TO DETERMINE
  58. 506 REM   WHETHER A NUMBER IS PRIME.
  59. 507 REM 
  60. 510 VTAB 5:PRINT "*** PRIME NUMBER FINDER ***":PRINT 
  61. 520 INPUT "WHAT IS YOUR NUMBER",N
  62. 530 PRINT :IF N>1 THEN 540
  63. 531 IF N<1 THEN 10
  64. 535 PRINT :PRINT "YOU MUST INPUT A NUMBER GREATER THAN 1<CTRL-G><CTRL-G><CTRL-G><CTRL-G> !":PRINT 
  65. 536 GOTO 520
  66. 540 FOR I=2 TO N-1
  67. 550 Y=N MOD I
  68. 560 IF I*I>N THEN 600
  69. 570 IF Y=0 THEN 650
  70. 580 NEXT I
  71. 600 PRINT N;" IS A PRIME.<CTRL-G>"
  72. 610 PRINT :PRINT :GOTO 520
  73. 650 PRINT N;" IS NOT A PRIME."
  74. 660 GOTO 610
  75. 1000 CALL -936
  76. 1005 REM                                 FIND GREATEST COMMON FACTOR
  77. 1007 REM 
  78. 1010 VTAB 5:PRINT "*** PROGRAM TO FIND GCF/LCM ***":PRINT 
  79. 1015 PRINT "(INPUT NUMBERS IN THE FORM A,B)":PRINT 
  80. 1020 PRINT :INPUT "WHAT ARE YOUR NUMBERS ",N1,N2
  81. 1030 IF N1>0 AND N2>0 THEN 1050
  82. 1040 GOTO 10
  83. 1050 IF N2>N1 THEN 1080
  84. 1060 TEMP=N2
  85. 1065 N2=N1
  86. 1070 N1=TEMP
  87. 1075 REM                                  FINDING THE GCF
  88. 1076 REM 
  89. 1080 DVD=N2
  90. 1090 DVR=N1
  91. 1100 Y=DVD MOD DVR
  92. 1110 IF Y=0 THEN 1200
  93. 1120 DVD=DVR
  94. 1130 DVR=Y
  95. 1140 GOTO 1100
  96. 1200 GCF=DVR
  97. 1210 GOSUB 1400
  98. 1220 PRINT :INPUT "DO YOU WANT THE LCM (Y/N) ",A$
  99. 1230 IF A$#"Y" THEN 1020
  100. 1300 K=1
  101. 1301 REM                                  FINDING LCM
  102. 1302 REM 
  103. 1303 REM  (NUMBERS TOO LARGE WILL
  104. 1304 REM   BOMB THE PROGRAM)
  105. 1305 REM 
  106. 1310 Z=(K*N2) MOD N1
  107. 1320 IF Z=0 THEN 1390
  108. 1330 K=K+1:GOTO 1310
  109. 1390 LCM=(K*N2)
  110. 1394 PRINT :PRINT 
  111. 1395 GOTO 1500
  112. 1400 CALL -936:VTAB 6:PRINT "THE GCF OF ";N1;" AND ";N2;" IS ";GCF:PRINT :PRINT 
  113. 1401 RETURN 
  114. 1500 PRINT "AND THE LCM IS ";LCM;".":PRINT :PRINT 
  115. 1600 GOTO 1020
  116. 1610 END 
  117. 2000 CALL -936:VTAB 10:PRINT "<CTRL-G><CTRL-G><CTRL-G>"
  118. 2005 FOR I=1 TO 40
  119. 2010 PRINT "*";
  120. 2020 NEXT I
  121. 2030 PRINT 
  122. 2040 PRINT "  (ENTER A ZERO TO RETURN TO THE MENU)"
  123. 2050 PRINT 
  124. 2060 FOR I=1 TO 40
  125. 2070 PRINT "*";
  126. 2080 NEXT I
  127. 2085 FOR I=1 TO 2500:NEXT I
  128. 2086 PRINT "<CTRL-G>"
  129. 2090 PRINT 
  130. 2100 RETURN 
  131. 2200 CALL -936
  132. 2201 PRINT "***PRIME FACTORIZATION***"
  133. 2210 PRINT :PRINT :PRINT 
  134. 2215 PRINT "<CTRL-G>"
  135. 2220 INPUT "WHAT IS YOUR NUMBER ",N
  136. 2222 IF N>1 THEN 2230
  137. 2223 IF N=0 THEN 10
  138. 2224 PRINT :PRINT "INPUT A NUMBER GREATER THAN 1.":GOTO 2210
  139. 2230 FOR K=2 TO N
  140. 2240 IF (N MOD K=0)=1 THEN 3000
  141. 2250 NEXT K
  142. 2260 PRINT N," IS A PRIME."
  143. 2270 PRINT :PRINT "FINISHED!":GOTO 2210
  144. 2303 GOSUB 2800
  145. 2500 REM                                 PRIME NUMBER LIST ROUTINE
  146. 2501 REM 
  147. 2502 CALL -936:VTAB 6:PRINT "THIS PROGRAM GENERATES A LIST OF PRIMES."
  148. 2503 PRINT :PRINT :INPUT "    HOW MANY PRIMES DO YOU WANT ",MAX:IF MAX=0 THEN 10
  149. 2505 PRINT :INPUT "    BEGINNING AT WHAT NUMBER ",BEG
  150. 2506 IF BEG=0 THEN 10
  151. 2509 CALL -936:GOSUB 2800
  152. 2510 A=0:N=BEG
  153. 2520 FOR I=3 TO N-1
  154. 2530 IF N MOD I=0 THEN 2550
  155. 2540 NEXT I
  156. 2545 GOSUB 2700
  157. 2550 N=N+1
  158. 2560 IF A=0 OR A=1 THEN 2520
  159. 2570 IF A MOD 10#0 THEN 2520
  160. 2575 PRINT 
  161. 2580 TAB 15: POKE 50,63:PRINT " PRESS SPACE BAR ": POKE 50,255
  162. 2600 IF  PEEK (-16384)>127=1 THEN 2620
  163. 2610 GOTO 2600
  164. 2620  POKE -16368,0
  165. 2622 IF A=MAX THEN 2500
  166. 2625 CALL -936:GOSUB 2800
  167. 2630 N=N+1:GOTO 2520
  168. 2700 REM                                  PRINT A PRIME
  169. 2710 PRINT :PRINT "(";A+1;").",N
  170. 2712 A=A+1
  171. 2715 IF A=MAX THEN 2900
  172. 2720 RETURN 
  173. 2800  POKE 50,63:PRINT "  P R I M E    N U M B E R     L I S T ": POKE 50,255:RETURN 
  174. 2900 PRINT "                 (FINISHED!)<CTRL-G>"
  175. 2901 FOR I=1 TO 500:NEXT I
  176. 2902 GOTO 2580
  177. 3000 PRINT :PRINT K," IS A PRIME FACTOR."
  178. 3010 N=N/K
  179. 3015 IF N=1 THEN 2270
  180. 3020 GOTO 2230
  181. 3021 CALL -936:VTAB 8:TAB 10
  182. 3022  POKE 50,63:PRINT " *PRIMES AND FACTORS ": POKE 50,255:PRINT 
  183. 3023 TAB 13:PRINT "BY RICHARD RUTH":PRINT 
  184. 3024 TAB 11:PRINT "KEYSTONE APPLE CORE":PRINT 
  185. 3025 TAB 17:PRINT "12/12/79"
  186. 3026 FOR N=1 TO 2500:NEXT N:RETURN 
  187. 3030 END 
  188.